Struts 2 is a web application framework based on the Model-View-Controller (MVC) pattern. It automates common tasks to make developing large web applications easier and faster. Struts 2 uses interceptors and actions to implement the MVC pattern, with actions representing the model, results representing views, and a filter dispatcher acting as the controller. Developers can declare the framework's architecture either through XML configuration files or Java annotations.